バージョン表記の各数字の意味をイラストで理解する
普段開発したり、アプリなどに触れているとバージョン番号15.1.1
等の数字に触れることも多く、それぞれの意味をあまり理解できていなかったので改めて調べてみることにしました。
それぞれの意味を少しでも理解しやすくなればと思いイラストを添えてみました。
バージョン番号
今回は例として、15.1.1
というバージョン番号を使用しますが、この並びはセマンティック・バージョニングと呼ばれるバージョン管理方法の一つです。
それぞれ左から順に、
- メジャーバージョン (v15.1.1)
- マイナーバージョン (v15.1.1)
- パッチバージョン (v15.1.1)
と呼ばれています。
それぞれの役割について、これから説明していきます。
パッチバージョン
バージョン番号の一番右側のナンバー(15.1.1)は、パッチバージョンと呼ばれ、
後方互換性を伴うバグ修正をした場合、こちらのバージョンを上げます。
下記は、v1.0.0
でリリースしたものに軽微なバグを見つけて修正したのでv1.0.1
でアップデートしたものになります。
イラストは完全にイメージではありますが、なんとなくの雰囲気を掴んでいただけたら嬉しいです。
マイナーバージョン
バージョン番号の中央のナンバー(15.1.1)は、マイナーバージョンと呼ばれ、
後方互換性があり機能性を追加した場合、こちらのバージョンを上げます。
下記は、v1.0.1
にさらに新機能を追加したのでv1.1.0
でアップデートしたイラストです。
最近耳が遠いので、よく聞こえるように耳という新機能を追加してみました。
マイナーアップデートを行った際は、パッチバージョンを0
にリセットしましょう。
メジャーバージョン
バージョン番号の一番左のナンバー(15.1.1)は、メジャーバージョンと呼ばれ、
APIの変更に互換性のない場合、一つ以上の破壊的な変更を含む場合、こちらのバージョンを上げます。
下記は、v1.1.0
の大規模アップデートを行ったのでv2.0.0
でアップデートしたイラストです。
新機能追加だけでは止まらず、新たに生まれ変わることにしました。
メジャーアップデートを行った際は、マイナーバージョンとパッチバージョンを0
にリセットしましょう。
補足
今回はセマンティック・バージョニング仕様書等の参考資料を見てまとめてみましたが、プロジェクトによって各バージョニングの定義に若干の違いはあると思うのでその時は臨機応変に行きたいですね。
おわりに
今回はバージョニングについて学びました。しっかりインプット・アウトプットして自分自身のアップデートもどんどんしていきたいですね!